Are RESTful APIs Well-Designed? Detection of their Linguistic (Anti)Patterns
نویسندگان
چکیده
Identifier lexicon has a direct impact on software understandability and reusability and, thus, on the quality of the final software product. Understandability and reusability are two important characteristics of software quality. REST (REpresentational State Transfer) style is becoming a de facto standard adopted by many software organisations. The use of proper lexicon in RESTful APIs might make them easier to understand and reuse by client developers, and thus, would ease their adoption. Linguistic antipatterns represent poor practices in the naming, documentation, and choice of identifiers in the APIs as opposed to linguistic patterns that represent best practices. We present the DOLAR approach (Detection Of Linguistic Antipatterns in REST), which applies syntactic and semantic analyses for the detection of linguistic (anti)patterns in RESTful APIs. We provide detailed definitions of ten (anti)patterns and define and apply their detection algorithms on 15 widely-used RESTful APIs, including Facebook, Twitter, and YouTube. The results show that DOLAR can indeed detect linguistic (anti)patterns with high accuracy and that they do occur in major RESTful APIs.
منابع مشابه
Detection of REST Patterns and Antipatterns: A Heuristics-Based Approach
REST (REpresentational State Transfer), relying on resources as its architectural unit, is currently a popular architectural choice for building Web-based applications. It is shown that design patterns—good solutions to recurring design problems—improve the design quality and facilitate maintenance and evolution of software systems. Antipatterns, on the other hand, are poor and counter-producti...
متن کاملHow Do Developers React to RESTful API Evolution?
With the rapid adoption of REpresentational State Transfer (REST), more software organizations expose their applications as RESTful web APIs and client code developers integrate RESTful APIs into their applications. When web APIs evolve, the client code developers have to update their applications to incorporate the API changes accordingly. However client code developers often encounter challen...
متن کاملCross-Site Scripting Attacks in Social Network APIs
Nowadays, it is becoming more popular that RESTful APIs are used by web developers to enhance the functionality of websites. However, this might raise potential XSS attack threats. Unlike traditional XSS attacks, XSS attacks in this scenario may take advantage of more characteristics of RESTful APIs. RESTful APIs are common in social networks. Consequently, in this paper, we took social network...
متن کاملChapter 2 RESTful Web Services : Principles , Patterns , Emerging Technologies
RESTful Web services are software services which are published on the Web, taking full advantage and making correct use of the HTTP protocol. This chapter gives an introduction to the REST architectural style and how it can be used to designWeb service APIs. We summarize the main design constraints of the REST architectural style and discuss how they impact the design of so-called RESTful Web s...
متن کاملFormalization and Automated Verification of RESTful Behavior
REST is a software architectural style used for the design of highly scalable web applications. Interest in REST has grown rapidly over the past decade, spurred by the growth of open web APIs. On the other hand, there is also considerable confusion surrounding REST: many examples of supposedly RESTful APIs violate key REST constraints. We show that the constraints of REST and of RESTful HTTP ca...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015